/*
 * Copyright (c) 2017. 深圳掌控网络有限公司. All rights reserved.
 */

package com.yiqi.lottery.feature.home.contract;

import com.suozhang.framework.entity.bo.UserInfoBo;
import com.suozhang.framework.framework.BasePresenter;
import com.suozhang.framework.framework.BaseView;
import com.yiqi.lottery.entity.bo.*;

import java.util.HashMap;

import io.reactivex.Observable;

/**
 * LIJUWEN
 *
 * @email yiyayiyayaoljw@gmail.com
 * @date 2017/4/11 9:06
 */
public interface PayContract {
    interface Model {
        Observable<UserInfoBo> getUsertInfo();

        Observable<String> createOrder(OrderBo orderBo);

        Observable<String> orderOptimiz(HashMap<String, Object> map);

        Observable<String> createCopurch(HashMap<String, Object> couprceBo);

        Observable<String> followOrder(OrderBo orderId);

        Observable<String> billingOrder( String order_id
                ,HashMap<String, String> content);
    }

    interface View extends BaseView {
        void showUserInfoSuccess(UserInfoBo userInfoBo);

        void showUserInfoError(String msg);

        void showBillingSuccess();

        void showCreateOrderStart();

        void showCreateOrderSuccess(String luckyHistoryBo);

        void showFollowOrderSuccess(String msg);

        void showError(String ex);

    }


    interface Presenter extends BasePresenter {
        void doGetUserInfo();

        void doCreateOrder(int type, int multiple, String bet_code, String issue, int is_charsing, int charsing_num,
                           int mut_num, int order_amount, String min_reward, String max_reward ,
                           int is_follow,
                           int is_open,
                           double safe_rate,
                           String follow_intro);

        void orderOptimiz(int order_amount, int type, String issue, String bet_code, String bet_list, String min_reward, String max_reward);


        void createCopurch(int type, int multiple, int mut_num, String bet_code, String issue, String amount_fee, String share,
                           String percentage, String subscribe, String guarantee, String declaration, String desc, String finish_time);

        void followOrder(Integer orderId, int bet, int order_amount);

        void billingOrder(
                String order_id,
                int is_open,
                double safe_rate,
                String follow_intro,
                int is_spread,
                int is_follow

        );
    }
}
